package cn.slipi.admin.controller.form.pdrapi;

import cn.slipi.admin.service.dto.in.producer.HystrixParam;
import lombok.Data;

import javax.validation.constraints.NotNull;

@Data
public class SaveForm {

    /**
     * 所属项目id
     */
    @NotNull
    private Integer pdrProjectId;

    /**
     * 接口名称
     */
    @NotNull
    private String name;

    /**
     * 接口描述
     */
    @NotNull
    private String description;

    /**
     * 接口对外名称
     */
    private String code;

    /**
     * 接口请求路径
     */
    @NotNull
    private String path;

    /**
     * 接口请求类型（GET,PUT,POST,DELETE）
     */
    @NotNull
    private String queryType;

    /**
     * 熔断降级配置（{"commandKey":"","errorThresholdPercentage":"50","groupKey":"","requestVolumeThreshold":"20","sleepWindowInMilliseconds":"5000","timeoutInMilliseconds":"1000"}）
     */
    private HystrixParam hystrixParam;

    /**
     * 每秒请求数
     */
    @NotNull
    private Integer permitsPerSecond;

    /**
     * ip 黑名单
     */
    private String blackList;

    /**
     * 是否启用接口（0：关停，1：启用）
     */
    @NotNull
    private Integer enable;

    /**
     * 入参
     */
    @NotNull
    private String inParam;

    /**
     * 出参
     */
    @NotNull
    private String outParam;

    /**
     * 授权出参
     */
    private String globalGrantParam;

}
